package com.hzz.dto.eybase;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.hzz.framework.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

@Data
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("ey_库片 DTO")
public class EyBaseRetrieveReservoirsSliceDto extends BaseDto {
    /** 库片id */
    Long gid;
    /** 水库代码 */
	@Size(max=12,message="code最大12字符")
    String code;
    /** 水库名称 */
	@Size(max=100,message="name最大100字符")
    String name;
    /** 所在市(州) */
	@Size(max=30,message="city最大30字符")
    String city;
    /** 所在县(市区) */
	@Size(max=50,message="county最大50字符")
    String county;
    /** 主坝所在乡镇 */
	@Size(max=50,message="town最大50字符")
    String town;
    /** 主坝所在村 */
	@Size(max=20,message="village最大20字符")
    String village;
    /** 注册登记号 */
	@Size(max=14,message="reLicCode最大14字符")
    String reLicCode;
    /** 总库容 */
    Double vol;
    /** 水库规模 */
	@Size(max=4,message="tegr最大4字符")
    String tegr;
    /** 工程等别 */
	@Size(max=1,message="engGrad最大1字符")
    String engGrad;
    /** 所在流域名称 */
	@Size(max=30,message="hnnm最大30字符")
    String hnnm;
    /** 所在河流 */
	@Size(max=30,message="rvnm最大30字符")
    String rvnm;
    /** 水库类型 */
	@Size(max=20,message="type最大20字符")
    String type;
    /** 主坝坐标经度 */
    Double _long;
    /** 主坝坐标纬度 */
    Double sLat;
    /** 主坝材料类型 */
	@Size(max=20,message="matrl最大20字符")
    String matrl;
    /** 主坝结构类型 */
	@Size(max=20,message="kdStrType最大20字符")
    String kdStrType;
    /** 主坝最大坝高(米) */
    Double height;
    /** 主坝坝长(米) */
    Double kdLength;
    /** 坝址控制流域面积(平方公里(2位小数)) */
    Double watShedArea;
    /** 坝址多年平均径流量(万立方米，(2位小数)) */
    Double flow;
    /** 开工时间 */
	@Size(max=10,message="startDate最大10字符")
    String startDate;
    /** 建成时间 */
	@Size(max=10,message="bdtm最大10字符")
    String bdtm;
    /** 水库调节性能 */
	@Size(max=5,message="repe最大5字符")
    String repe;
    /** 正常溢洪道型式 */
	@Size(max=20,message="nsType最大20字符")
    String nsType;
    /** 正常溢洪道堰型 */
	@Size(max=20,message="nsWeirType最大20字符")
    String nsWeirType;
    /** 正常溢洪道堰顶宽(米) */
    Double nsWeirHeght;
    /** 正常溢洪道是否有闸控制 */
	@Size(max=1,message="nsWrSlco最大1字符")
    String nsWrSlco;
    /** 正常溢洪道最大泄洪流量(立方米/秒(2位小数)) */
    Double nsMaxRfw;
    /** 是否有非常溢洪道 */
	@Size(max=1,message="wrAbns最大1字符")
    String wrAbns;
    /** 非常溢洪道型式 */
	@Size(max=20,message="abnsType最大20字符")
    String abnsType;
    /** 非常溢洪道启用标准 */
	@Size(max=20,message="abnsStand最大20字符")
    String abnsStand;
    /** 取水口数量(个) */
    Long wainNum;
    /** 取水口型式 */
	@Size(max=20,message="wainType最大20字符")
    String wainType;
    /** 最大放水流量(立方米/秒,(2位小数)) */
    Double maxDifl;
    /** 放空洞(底孔)型式 */
	@Size(max=20,message="emtuType最大20字符")
    String emtuType;
    /** 最大泄洪流量(立方米/秒(2位小数)) */
    Double maxRfw;
    /** 设计洪水标准［重现期］(年) */
    Long deStand;
    /** 校核洪水标准［重现期］(年) */
    Long chStand;
    /** 高程系统 */
	@Size(max=20,message="elsy最大20字符")
    String elsy;
    /** 坝顶高程(米(保留2位小数)) */
    Double dacrElev;
    /** 校核洪水位(米(保留2位小数)) */
    Double chLev;
    /** 设计洪水位(米(保留2位小数)) */
    Double deLev;
    /** 防洪高水位(米(保留2位小数)) */
    Double flcoLev;
    /** 正常蓄水位(米(保留2位小数)) */
    Double watLev;
    /** 正常蓄水位相应库容(万立方米(保留2位小数)) */
    Double normPoolStagCap;
    /** 防洪限制水位(米(保留3位小数)) */
    Double flLowLimLev;
    /** 防洪限制水位库容(万立方米,3位小数) */
    Double flLowLimLevCap;
    /** 死水位(米,3位小数) */
    Double elev;
    /** 调洪库容(万立方米,2位小数) */
    Double storFlCap;
    /** 防洪库容(万立方米,2位小数) */
    Double flcoCap;
    /** 兴利库容(万立方米,2位小数) */
    Double benResCap;
    /** 死库容(万立方米(保留2位小数)) */
    Double deadCap;
    /** 水库ID */
	@NotNull(message="osid不能为空")@Size(max=55,message="osid最大55字符")
    String osid;
    /** 正常蓄水位相应水面面积(平方公里（保留2位小数)) */
    Double area;
    /** 水库主要功能 */
	@Size(max=10,message="func最大10字符")
    String func;
    /** 重要保护对象 */
	@Size(max=20,message="mpob最大20字符")
    String mpob;
    /** 供水对象 */
	@Size(max=5,message="wsob最大5字符")
    String wsob;
    /** 设计灌溉面积(万亩) */
    Double deIrar;
    /** 灌溉对象 */
	@Size(max=20,message="iaob最大20字符")
    String iaob;
    /** 工程建设情况 */
	@Size(max=1,message="engStat最大1字符")
    String engStat;
    /** 归口主管部门 */
	@Size(max=10,message="admDep最大10字符")
    String admDep;
    /** 主管部门名称 */
	@Size(max=100,message="admDepName最大100字符")
    String admDepName;
    /** 主管部门级别 */
	@Size(max=1,message="grad最大1字符")
    String grad;
    /** 管理单位名称 */
	@Size(max=40,message="adag最大40字符")
    String adag;
    /** 是否完成管理范围划定 */
	@Size(max=1,message="wrcd最大1字符")
    String wrcd;
    /** 是否完成保护范围划定 */
	@Size(max=1,message="wrpd最大1字符")
    String wrpd;
    /** 是否完成确权 */
	@Size(max=1,message="wrco最大1字符")
    String wrco;
    /** 是否饮水水源水库 */
	@Size(max=1,message="wrws最大1字符")
    String wrws;
    /** 是否备用饮水水源水库 */
	@Size(max=1,message="wrwsSp最大1字符")
    String wrwsSp;
    /** 是否划定饮用水水源保护区 */
	@Size(max=1,message="wrcdDp最大1字符")
    String wrcdDp;
    /** 入库排污口数量(个) */
    Long count;
    /** 目前水库水质类别 */
	@Size(max=2,message="wqle最大2字符")
    String wqle;
    /** 目前水质是否按水库功能达标 */
	@Size(max=1,message="wrrs最大1字符")
    String wrrs;
    /** 水质监测时间 */
	@Size(max=10,message="moTime最大10字符")
    String moTime;
    /** 水质监测单位 */
	@Size(max=40,message="mnag最大40字符")
    String mnag;
    /** 空间几何 */
    String geom;
    /** 行政区划代码 */
	@Size(max=12,message="pac最大12字符")
    String pac;
    /** 库片等级 */
	@Size(max=12,message="level最大12字符")
    String level;
    /** 库片编码 */
	@Size(max=100,message="sid最大100字符")
    String sid;
    /** 规模级别 */
	@Size(max=1,message="hasNew最大1字符")
    String hasNew;
    /** 不设库长 */
	@Size(max=10,message="noleader最大10字符")
    String noleader;
    /** 水利部库片编码 */
	@Size(max=20,message="rercode最大20字符")
    String rercode;
    /** 创建时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateCreated;
    /** 更新时间 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
    Date dateUpdated;
    /** 版本 */
    Integer version;

}
